<?php
/*
 * @开发工具: JetBrains PhpStorm.
 * @文件名：IPinYin.class.php
 * @类功能: 汉字转拼音
 * @开发者: 陈旭林
 * @开发时间： 14-10-28
 * @版本：version 1.0
 */
namespace app\common\ext;

require_once 'PinYin/Pinyin.php';

use Pinyin;

class IPinYin {
    //设置例外数据
    private static $ExceptionList = array(
        "重庆" => "chongqing",

    );

    /**
     * @功能：获取中文字符拼音
     * @param string $str 字符串
     * @开发者： cxl
     * @return string
     */
    public static function getPinYin($str){
        //判断另外数据
        if(empty(self::$ExceptionList[$str])){
            //拆分字符串
            $str = str_to_array($str);

            //返回结果
            return Pinyin::ChineseToPinyin($str[0]);
        }else{
            return self::$ExceptionList[$str];
        }
    }

    /**
     * @功能：获取中文字符拼音首字母
     * @param string $str 字符串
     * @开发者： cxl
     * @return string
     */
    public static function getFirstCharter($str){
        //取得拼音
        $py = self::getPinYin($str);

        //取得首字母
        return strtoupper($py[0]);
    }


    /**
     * @功能：获取每个中文字符拼音首字母
     * @param string $str 字符串
     * @开发者： cxl
     * @return string
     */
    public static function getEachCharter($str){
        //拆分字符串
        $str = str_to_array($str);

        //取得拼音
        $FirstCharter = '';

        //判断是否为数据
        if(is_array($str)) {
            //循环取得拼音内容
            foreach ($str as $value) {
                //取得拼音内容
                $py = Pinyin::ChineseToPinyin($value);

                //拼接每个汉字首字母
                $FirstCharter .= $py[0];
            }
        }

        //取得每个汉字首字母
        return strtoupper($FirstCharter);
    }
}